﻿// <copyright file="Player.cs" company="Mooville">
//   Copyright © 2010 Roger Deetz. All rights reserved.
// </copyright>

namespace Mooville.QUno.Model
{
    /// <summary>
    /// Represents a player.
    /// </summary>
    public class Player
    {
        private string name;
        private bool isHuman;
        private Hand hand;

        /// <summary>
        /// Initializes a new instance of the <see cref="Player"/> class.
        /// </summary>
        public Player()
        {
            this.hand = new Hand();
        }

        /// <summary>
        /// Gets or sets the name of this player.
        /// </summary>
        /// <value>
        /// The name of this player.
        /// </value>
        public string Name
        {
            get
            {
                return this.name;
            }

            set
            {
                this.name = value;
            }
        }

        /// <summary>
        /// Gets or sets a value indicating whether this instance is a human player.
        /// </summary>
        /// <value>
        /// <see langword="true"/> if this instance is a human player; otherwise, <see langword="false"/>.
        /// </value>
        public bool IsHuman
        {
            get
            {
                return this.isHuman;
            }

            set
            {
                this.isHuman = value;
            }
        }

        /// <summary>
        /// Gets the <see cref="Hand"/> for this player.
        /// </summary>
        /// <value>
        /// The hand for this player.
        /// </value>
        public Hand Hand
        {
            get
            {
                return this.hand;
            }
        }
    }
}
